package net.wanho.zaixian.cms.controller;

import freemarker.template.Configuration;
import freemarker.template.Template;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.io.File;
import java.io.FileWriter;
import java.io.StringReader;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

@Controller
@ResponseBody
public class FreeMakerController {
        @RequestMapping("/fm/test")
        public String test() throws Exception{
            // 第一步：设置模板，此时的模板就是一个字符串，而不再是ftl文件
            String templateString = "欢迎${name}登录！";
            // 第二步：生成templdate
            Template template  = new Template("template", new StringReader(templateString), new Configuration(Configuration.VERSION_2_3_23));
            // 第三步：设置数据
            Map dataModel = new HashMap<>();
            //向数据集中添加数据
            dataModel.put("name", "zhangli");
            // 第四步：创建一个Writer对象，一般创建一FileWriter对象，指定生成的文件名。请确保D盘存在。
            //Writer out = response.getWriter()，将不生成静态页面而是完成预览
            Writer out = new FileWriter(new File("D:\\000000146\\JAVA146\\period5\\program\\zaixian-ui-pc-static-portal\\include\\index_banner.html"));
            // 第五步：调用模板对象的process方法输出文件。
            template.process(dataModel, out);
            // 第六步：关闭流。
            out.close();
            return "ok";

        }
    }

